package lambda;

import java.util.function.Predicate;

public class PredicateDemo {
    public static void main(String[] args) {
//        checkString("hello", s -> {
//            return s.length() > 3;
//        });

       //System.out.println(checkString("heel" , s -> s.length()>3));
        boolean b = checkString("aasd", s -> {
            return s.length() > 3;
        }, s -> {
            return s.isEmpty();
        });
        System.out.println(b);

    }

    // 同意俄国字符串给出俩个不同的判断条件 ,最后把俩个判断的结果作逻辑与 作为最终结果
    private static boolean checkString(String s, Predicate<String> pre1, Predicate<String> pre2) {
//        boolean ba = pre1.test(s);
//        boolean bb = pre2.test(s);
//        return ba && bb;

        return pre1.or(pre2).test(s);
//        return pre1.and(pre2).test(s);
    }

    private static boolean checkString(String s, Predicate<String> pre) {
       return pre.test(s);
    }
}
